--- linux-user/syscall.c
+++ linux-user/syscall.c
@@ -48,7 +48,7 @@
 #include <sys/sem.h>
 #include <sys/statfs.h>
 #include <utime.h>
-#include <sys/sysinfo.h>
+//#include <sys/sysinfo.h>
 #include <sys/signalfd.h>
 //#include <sys/user.h>
 #include <netinet/ip.h>
@@ -123,6 +123,23 @@
 #include "fd-trans.h"
 #include "tcg/tcg.h"

+#ifndef F_SHLCK
+#define F_SHLCK 8
+#endif
+#ifndef F_EXLCK
+#define F_EXLCK 4
+#endif
+
+struct host_sigevent {
+    union sigval sigev_value;
+    int sigev_signo;
+    int sigev_notify;
+    union {
+       int _pad[64-sizeof(int) * 2 + sizeof(union sigval)];
+       int _tid;
+    } _sigev_un;
+};
+
 #ifndef CLONE_IO
 #define CLONE_IO                0x80000000      /* Clone io context */
 #endif
@@ -6771,7 +6788,7 @@
 }
 #endif

-static inline abi_long target_to_host_sigevent(struct sigevent *host_sevp,
+static inline abi_long target_to_host_sigevent(struct host_sigevent *host_sevp,
                                                abi_ulong target_addr)
 {
     struct target_sigevent *target_sevp;

